// components/cell/index.js
import {CellStatus} from "../../core/enum";

Component({
  /**
   * 组件的属性列表
   */
  properties: {  // 接收的都是对象的数据没有方法，而不是完整的对象，也就是说，不是原本的逻辑对象
    cell: Object,
    y: Number,
    x: Number
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    onTap(event) {
      // this.data.cell.status = CellStatus.SELECTED
      // this.setData({
      //   cell: this.data.cell
      // })
      // 触发事件的意义：子组件向父组件传参
      this.triggerEvent('celltap', {
        // 子组件 父组件
        cell: this.properties.cell,  // 事件抛出后，事件携带的cell和组件内部的cell对象不是同一个
        x: this.properties.x,
        y: this.properties.y
      }, {
        bubbles: true,  // 冒泡
        composed: true  // 跨越组件边界
      })
    }
  }
})
